package com.example.utils;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Data
@Lazy                                                               //使用的时候再实例化
@Component
@Scope("singleton")                                                 //单例的，Bean的作用域其实默认也是单例的
@ConfigurationProperties(prefix = "aliyun.oss")                     //另一种获取配置文件key对应的值的方式，这三个注解必须加
public class AliOSSProperties {

    /** 多个配置属性可以用这种方式
     * 1.如果属性非常简单，只有一两个，而且就只用这一次，就可以使用@Value注解进行属性注入
     * 2.如果注入的属性非常多，而且还想做到复用，就可以定义一个Bean对象，然后通过@ConfigurationProperties批量的，
     * 将外部的属性配置直接注入Bean对象的属性当中，在其他类中，直接注入Bean对象，然后调用Get方法
     * */
    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}

